/**
 * Pinia状态管理配置
 * 统一管理应用状态，配合API中间层使用
 */

import { createPinia } from 'pinia/dist/pinia.mjs'
import { createPersistedState } from 'pinia-plugin-persistedstate'

// 创建pinia实例
const pinia = createPinia()

// 配置持久化插件
pinia.use(
  createPersistedState({
    // 自定义存储方式，适配uni-app
    storage: {
      getItem: (key) => {
        return uni.getStorageSync(key)
      },
      setItem: (key, value) => {
        uni.setStorageSync(key, value)
      },
      removeItem: (key) => {
        uni.removeStorageSync(key)
      }
    },
    // 默认持久化所有store
    auto: true
  })
)

export default pinia